iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0

前言

之前我們有提到LangChain的結構
https://ithelp.ithome.com.tw/upload/images/20240906/20168697vSO9fStfFV.png

現在我們已經有Prompt、LLM、Chain
現在我們要開始介紹Document的部分,我們會介紹提示工程的RAG技術來擴充這個元件。

正文

RAG介紹

RAG(Retrieval-Augmented Generation)將檢索技術與生成技術結合的NLP架構,主要目的在增強生成模型,能夠生成更精確且上下文相關的回應,由檢索模型(retriever)和生成模型(generator)兩個部分組成。

檢索模型(Retriever):在生成回應之前,RAG 使用檢索模型從外部資料庫(也可以自己建立)提取相關資料。可以是文件資料庫、網頁,或者其他資料源。

生成模型(Generator):檢索模型提供的內容被傳遞給生成模型,生成模型會根據傳遞來的內容微調模型,不需要對模型進行重新訓練,並且生成更加可靠的回答,甚至還能減少幻覺(hallucination)。

RAG的工作流程

https://ithelp.ithome.com.tw/upload/images/20240906/20168697IOTIO6vKFe.jpg


  • 用戶輸入:
       用戶提出一個查詢,例如一個問題。
    
  • 檢索階段:
      檢索模型會將查詢轉換為一個向量,根據這個向量從***預先建立的資料庫***中找到與查詢最相關的文檔或資料片段。
    
  • 生成階段:
       將檢索到的文件片段與原始查詢一起輸入到生成模型中,生成模型會基於這些資訊來生成一個回答。
    
  • 回應輸出:
       最終的回答會返回給用戶,通常回答會更加的準確,因為它結合了更即時而且有根據相關的檢索資料。
    

細節

  • 在檢索階段,我們之後會需要預先建立一個資料庫,因此我們會詳細的介紹我們建立資料庫的過程,另外轉換成向量的部分,我們會採用LLM所提供的embedding model,接著再進行相似度比對,比對查詢和資料庫的文件內容。

  • 在生成階段我們會將檢索到的文件或是資料片段放入到Prompt中,來進行提示。

優勢

動態資訊獲取:RAG能從外部資料庫中檢索最新的或更全面的資料,生成模型則負責將這些資料用自然語言流暢地表達出來,RAG使得生成模型處理需要最新或是精確知識的任務中表現更好。

知識增強:對於一些訓練資料有限的生成模型,RAG可以通過檢索外部知識來增強其知識不足方面。

RAG 讓語言模型不用重新訓練就能夠獲得最新的訓練資料,並且跟現有的資料進行結合,降低成本之外,還能夠減少幻覺(hallucination)。

劣勢

檢索文件品量:RAG 的表現很大程度上依賴於檢索到的文件品量。如果檢索模型沒有找到合適的文件,那麼就不會有內容傳遞給生成模型。

增加檢索成本:RAG 的雙模型結構需要更多的運算資源,因為它不僅需要運行生成模型,還需要運行一個檢索模型進行實時資料的檢索。

資料來源

https://nips.cc/virtual/2020/public/poster_6b493230205f780e1bc26945df7481e5.html
https://aws.amazon.com/tw/what-is/retrieval-augmented-generation/


上一篇
day6 LLM結構化輸出:精確控制與系統串接的利器
下一篇
day8 LangChain RAG:資料庫建置到檢索生成解析
系列文
智能雲端架構圖生成:結合LangChain&LangGrpah與Rag的創新應用27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言